home *** CD-ROM | disk | FTP | other *** search
/ Logiciels PC 7 / logiciel pc 7.iso / Linux / KDE_1.1pr2_Rpm / kdesupport-1.1pre2-1rh5x.i386.rpm / kdesupport-1.1pre2.1rh5x.cpio.gz / kdesupport-1.1pre2.1rh5x.cpio / opt / kde / bin / usekde < prev   
Text File  |  1999-01-27  |  2KB  |  94 lines

  1. #!/bin/bash
  2. if [ "$KDEDIR" = "" ] ; then
  3.     echo "\"usekde\" cannot run because \$KDEDIR is not set:"
  4.     echo "(Log in again, and try again)"
  5.     exit 
  6. fi
  7.  
  8. # standard RedHat/usekde default paths.
  9. ETCPASSWD="/etc/passwd"
  10.  
  11. # default locations of sample KDE configuration files
  12. SKELDIR="$KDEDIR/etc/skel"
  13.  
  14. # look for the default .Xclients
  15. SAMPLE_XCLIENTS=""
  16.  
  17. # first try to use $KDE_XCLIENTS as the .Xclients
  18. if ! [ "$KDE_XCLIENTS" = "" ] ; then
  19.     if [ -f $KDE_XCLIENTS ] ; then
  20.     SAMPLE_XCLIENTS="$KDE_XCLIENTS"
  21.     fi
  22. fi
  23.  
  24. # if this fails, try $KDE_SKELDIR/.Xclients
  25. if [ "$SAMPLE_XCLIENTS" = "" ] ; then
  26.     if ! [ "$KDE_SKELDIR" = "" ] ; then
  27.     if [ -f $KDE_SKELDIR/.Xclients ] ; then
  28.         SAMPLE_XCLIENTS="$KDE_SKELDIR/.Xclients"
  29.     fi
  30.     fi
  31. fi
  32.  
  33. # if this fails, use $SKELDIR/.Xclients
  34. if [ "$SAMPLE_XCLIENTS" = "" ] ; then
  35.     SAMPLE_XCLIENTS="$SKELDIR/.Xclients"
  36. fi
  37.  
  38. # confirm existence of sample configuration files
  39. if ! [ -f $SAMPLE_XCLIENTS ] ; then
  40.     echo "error: sample Xclients file $SAMPLE_XCLIENTS not found"
  41.     exit
  42. fi
  43.  
  44. # verify username and existence of user's home directory
  45. if [ "$1" = "" ] ; then
  46.     USERHOME=~
  47.     USERNAME=$USER
  48. else
  49.     USERHOME=` cat $ETCPASSWD | grep -e "^$1:" | awk -F: '{print $6 }'` 
  50.     if [ "$USERHOME" = "" ] ; then
  51.     echo "username $1 is invalid" 
  52.     exit
  53.     fi
  54.     if ! [ -d $USERHOME ] ; then
  55.         echo "error: user $1's home directory $USERHOME does not exist"
  56.         exit
  57.     fi
  58.     USERNAME=$1
  59. fi
  60.  
  61. # move possibly-conflicting configuration files away
  62. XSESSION="$USERHOME/.xsession"
  63. if [ -f $XSESSION ] ; then
  64.     XSESSION_ORIG="$XSESSION.kdesave"
  65.     echo "warning: moving existing $XSESSION to $XSESSION_ORIG"
  66.     mv -f $XSESSION $XSESSION_ORIG
  67. fi
  68.  
  69. XINITRC="$USERHOME/.xinitrc"
  70. if [ -f $XINITRC ] ; then
  71.     XINITRC_ORIG="$XINITRC.kdesave"
  72.     echo "warning: moving existing $XINITRC to $XINITRC_ORIG"
  73.     mv -f $XINITRC $XINITRC_ORIG
  74. fi
  75.  
  76. XCLIENTS="$USERHOME/.Xclients"
  77. if [ -f $XCLIENTS ] ; then
  78.     TEST_DIFF=`diff $XCLIENTS $SAMPLE_XCLIENTS` 
  79.     if [ -n "$TEST_DIFF" ] ; then
  80.     XCLIENTS_ORIG="$XCLIENTS.kdesave"
  81.     echo "moving existing $XCLIENTS to $XCLIENTS_ORIG"
  82.     mv -f $XCLIENTS $XCLIENTS_ORIG
  83.     fi
  84. fi
  85.  
  86. if ! [ -f $XCLIENTS ] ; then 
  87. echo "Installing the KDE startup script from $SAMPLE_XCLIENTS:"
  88. cp -f $SAMPLE_XCLIENTS  $XCLIENTS
  89. chown $USERNAME. $XCLIENTS
  90. echo "(installed as $XCLIENTS)"
  91. fi
  92.  
  93. echo "KDE is now $USERNAME's default desktop; to change this, delete $XCLIENTS"
  94.